home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / sd-26.zip / relnotes.archi < prev    next >
Text File  |  1992-09-09  |  55KB  |  1,104 lines

  1.             RELEASE NOTES FOR VERSION 24.1
  2.        Database version = 24.0, format = 24, X11 UI version 1.9.
  3.  
  4. Some file names in the distribution have been changed:
  5.  
  6. Release_notes is now Relnotes (You've already figured that out by now)
  7. release_notes.archive is now relnotes.archive
  8. Readme is now README
  9. sdresolve.c is now sdgetout.c
  10. make_calls.c is now mkcalls.c
  11. The program make_calls is now mkcalls
  12. The source database (formerly calls.dat) is sd_calls.txt
  13. The compiled version (formerly sd_database) is sd_calls.dat
  14.  
  15. The version of the program and database that created each sequence is
  16. logged in the sequence output file.  As more and more people use Sd,
  17. this feature should make it easier to reproduce and track down bugs.
  18.  
  19. More selectors were added: centers, ends, center 2, center 6, outer 2,
  20. outer 6.  So you can now have the centers run, for example.  The names
  21. of selectors now appear in the transcript in lower case.  Only concepts
  22. are in upper case.  The reason is to make it possible to distinguish
  23. the concept "CENTERS" and the call "U-turn back" from the call "<anyone>
  24. U-turn back" with the centers selected for the anyone.  Of course the
  25. effect is the same, but there is no guarantee that that will always be
  26. the case for all calls.
  27.  
  28. Asymmetrical selectors are supported!  You can have the near column
  29. pass thru, etc.  The resultant setup must be reasonable -- no shape-changers
  30. on one side of the set.  Beware!  Most calls have not been checked for
  31. robustness in the presence of asymmetrical setups.  Use this with care!
  32. The management will not be responsible for any asymmetrical sequences
  33. left unattended.  The resolver checks all 8 people, so it should work.
  34. If the setup is asymmetrical, it will of course almost never find a resolve.
  35.  
  36. A bug in the "reconcile" operation was fixed.  It caused the program to
  37. discard about 1/2 of all possible reconciles that were found, because the
  38. final check didn't handle shape-changers correctly and led the program
  39. to believe it had made an error.  This bug did not cause corrupted
  40. sequences to be written -- it simply made reconciles extraordinarily hard
  41. to find.
  42.  
  43. Two bugs that can lead to occasional crashing were fixed.  I thank Sue
  44. Curtis for her patience and assistance in finding these.
  45.  
  46. A new call schema "splitseq" was added, which is like "seq" except that it
  47. first splits the setup according to the notion of "split counter rotate"
  48. and then maintains that division through the entire call.  Only the first
  49. part of the call uses "splitseq"; the others use "seq".  This was used to
  50. fix the definition of "turn on".  I think it now does "turn on" and
  51. "extend" correctly.
  52.  
  53. The "some do this/others do that" concept has been changed to "own the
  54. so-and-so".
  55.  
  56. It is now somewhat better about putting setups back together after an
  57. "on your own" or "own the so-and-so" or "so-and-so only" operation.
  58. For example, it can do ends only and centers only rotates and single
  59. rotates.
  60.  
  61. Calls had their levels changed in accordance with Callerlab changes
  62. made in the fall of 1991: inlet, outlet, dodge circulate, drop in/out,
  63. flip the line, circle to a wave, wheel fan & cross thru (to C3X),
  64. make magic, split mixed up (to C3X), round off (to C3X).
  65.  
  66. New calls: [magic] walk out to a column, rotate 1/2, single rotate 1/2,
  67. Curl thru, dive thru, pass to the center, bypass, various fractions of
  68. track N and tagging calls, all combinations of peel/trail the deal,
  69. sweep 1/4 (goes clockwise unless say "reverse")
  70.  
  71. Several additional calls have had "single" versions created.  Several
  72. additional calls are now fractionalizable.
  73.  
  74. Cross horseshoe turn was fixed.  Sorry.
  75. The ability to do tally ho from lines back-to-back was fixed.
  76.  
  77. Wheel and spread is now legal only from 1-faced lines.  Tag circulate is
  78. legal only from 2-faced lines.  Swing and mix, alter the wave, swing along,
  79. etc. will now print warnings if started in other than waves.
  80.  
  81. It no longer permits you to do a spin chain thru from lines back-to-back.
  82. (It used to tell everyone to "do their part".)
  83.  
  84. There is a new call "single file rotate", with fractions 1/4 and 1/2.
  85. This is done from a 1x4 column.  Select it by clicking the "single"
  86. concept.  The program will turn the name into "single file", same as for
  87. single file recycle.  To get the usual "single rotate" calls, use
  88. those names.
  89.  
  90. Many of the changes in the database resulted from contributions by
  91. Kathy Godfrey and Sue Curtis.
  92.  
  93. ===============================================================================
  94.  
  95.  
  96.                NOTES ON THE X11 USER INTERFACE RELEASE 1.9
  97.                             By Stephen Gildea
  98.  
  99.  
  100. The text display area is now a scrolling window that displays the
  101. entire sequence history.  The scrollbar to the left of it can scroll
  102. the text up and down, as with the call menus.
  103.  
  104. Text from this window can be cut using standard X techniques and
  105. pasted into other X clients.
  106.  
  107. Pressing Return at the end of any text typed into a popup will accept
  108. that string.  This is the same as clicking the mouse on the "Ok" button.
  109.  
  110. ===============================================================================
  111.  
  112.                 RELEASE NOTES FOR VERSION 1.21
  113.               Database version = 23, format = 22, X11 UI version 1.7.
  114.  
  115. A fifth concept menu popup was added, that has all remaining concepts,
  116. hopefully in a somewhat friendlier format than the previous version.
  117. The general concept menu below the special concept popup icons still
  118. exists, but it only contains duplicates of the extremely common concepts.
  119.  
  120. The "grand working" concept can now deal with the case in which the virtual
  121. setups being 50% overlapped into the final result are only 1 person deep.
  122. In this case they are simply abutted with no overlap, and the warning
  123. "the overlap goes away" is given.  This occurs in the case of "grand working
  124. apart lockit" from a grand wave or "grand working right swap the top" from
  125. lines facing.  The 3 virtual setups are parallel lines.  They have no depth,
  126. so they are just abutted into a 3x4.  This is analogous to the situation
  127. in which "parallelogram touch" is called from parallelogram lines facing,
  128. resulting in a grand wave with the warning "the offset goes away".
  129.  
  130. The definition of "boomerang" was fixed -- it should now permit only
  131. miniwave boxes and 1-faced boxes.
  132.  
  133. I caved in to pressure and made the definition of "fascinating <anything>"
  134. consistent with common misusage.  "Fascinating bend the line" is now awkward.
  135.  
  136. A bug that made the program tend to crash when you clicked on "heads start",
  137. "replace the second part", and "do anything", has been fixed.  How the program
  138. ever worked as well as it did is a mystery.
  139.  
  140. An extreme lack of randomness in the random number generator (uncovered while
  141. fixing the above bug) was fixed.  Clicking on "sides start; replace 2nd part;
  142. do anything" rarely found combinations other than "spin the top but replace
  143. the 2nd part with so-and-so run".  The problem was exacerbated by the fact
  144. that the mainstream call menu has exactly 64 items.  The program now uses the
  145. UN*X standard 48-bit random number generator.
  146.  
  147. The ability to do 12-matrix calls is significantly improved.  It can do 12-matrix
  148. motivates and relay the tops.
  149.  
  150. It can now do "Z axle" from 16-matrix Z's, resulting in a parallelogram.
  151.  
  152. New calls: tickle, grand spin/fan the top (grand working apart spin the
  153. top now works also.)  Alter the wave/diamond/and circulate are now defined
  154. by parts, and hence are subject to randomness.  Lead right.  (Click on
  155. "LEFT" and "lead right" to get "lead left")
  156.  
  157. ===============================================================================
  158.  
  159.                 RELEASE NOTES FOR VERSION 1.20
  160.               Database version = 22, format = 21, X11 UI version 1.7.
  161.  
  162. Minor fixes to calls like mini-pleasure and relay your pleasure --
  163. they now require real columns or grand waves.  They will not engage
  164. in bizarre "do your part" stuff.  Also, scamper was moved into the
  165. commented-out section for bogus calls.
  166.  
  167. Other minor internal changes.
  168.  
  169.                   X11 interface (version 1.7):
  170.  
  171. Typing Return in a type-in popup (e.g. for a subtitle on a sequence) now
  172. accepts the string, the same as clicking on "OK".
  173.  
  174. Confirmation popups are placed slightly better.
  175.  
  176. ===============================================================================
  177.  
  178.                 RELEASE NOTES FOR VERSION 1.19
  179.               Database version = 21, format = 20, X11 UI version 1.6.
  180.  
  181. New calls: lock 'em up, short/long trip, fiddle around, spin a wheel,
  182. stack the wheel, create a column, flare the star.
  183.  
  184. All bogus calls (turn up, steer clear, differentiate, rewind your neighbor,
  185. etc) have been moved to the front of the file and placed in a comment.
  186.  
  187. The call "step lively" is now defined as detour, slim down, and circulate,
  188. with visible fractions.  That is, one can fractionalize it, apply random
  189. or piecewise concepts, etc.  Is this acceptable according to modern usage?
  190.  
  191. The calls "leads wheel the ocean/sea" now give a warning if the setup is
  192. not a 1-faced box.  Additional calls "wheel the ocean/sea" were added, which
  193. require everyone to be a lead.  You can also specify certain people to start
  194. a wheel the ocean/sea/to-a-diamond or quarter wheel the ocean/sea/to-a-diamond.
  195. If you specify the starting people for wheel the ocean, it is legal for the
  196. inactive people to be in a left-handed miniwave.
  197.  
  198. The flag "first_part_visible" has been added to the database.  This is
  199. intended for calls that have a recognizable first part, but no recognizable
  200. part division after that, such as tag chain thru reactivate.  This flag
  201. makes it possible to do things like "so-and-so start a tag chain thru
  202. reactivate" or "start triple lines, tag chain thru reactivate".
  203.  
  204. The "so-and-so start" and "start <some concept>" concepts were added.
  205.  
  206. The "replace the Nth part" and "interrupt after the Nth part" concepts were added.
  207.  
  208. The "interlace" concept was added.
  209.  
  210. WARNING:  Some of these modification/interruption meta-concepts push the
  211. semantics of the language to the limit.  Whenever a call undergoes an
  212. interruption or enters or leaves a part with an additional concept on it,
  213. there is an implicit "piecewise" at that instant.  That is, concepts and
  214. setups are re-evaluated.  Furthermore, replacements and interruptions are
  215. "normal", that is, they do not carry any concepts that were on the call
  216. being replaced but not on the entire operation.
  217.    Example, from a starting DPT setup:
  218.       DELAY: TANDEM TWOSOME clean sweep 1/4 BUT REPLACE THE 3rd
  219.       PART WITH A [CHECKPOINT crossfire BY crossfire]
  220.    Normally, the tandem twosome behavior is not re-evaluated after each
  221.    part of the clean sweep.  But, since the 3rd part was replaced with
  222.    something else to which that concept did not apply, the setup is
  223.    re-evaluated before doing the final part.  Note in particular that
  224.    the replacement was "normal" -- the call having a part replaced was a
  225.    tandem twosome clean sweep 1/4.  If we wanted the entire operation,
  226.    including the replacement, to be tandem twosome (with no re-evaluation,
  227.    of course) we might call:
  228.       TANDEM TWOSOME DELAY: clean sweep 1/4 BUT REPLACE THE 3rd
  229.       PART WITH A [SINGLE CROSS CONCENTRIC turn thru]
  230.  
  231. The chaotic nature of the main concept menu is getting serious.  The concepts
  232. that relate to fractionalizing/interrupting/dissecting calls have been placed
  233. near the end.  Does anyone have any suggestions for organizing this?
  234.  
  235.                   X11 interface (version 1.6):
  236.  
  237. Mouse button 3, clicked anywhere other than in a scroll bar
  238. (where it has its usual scroll bar meaning) is equivalent to clicking
  239. on the "undo" icon.  It undoes the last call or concept.  Use mouse
  240. button 1 for all other non-scroll-bar actions.
  241.  
  242. If you ask your window manager to kill the program, Sd intercepts the
  243. request and asks you to confirm that you wish to abort the current sequence.
  244.  
  245. ===============================================================================
  246.  
  247.                 RELEASE NOTES FOR VERSION 1.18
  248.               Database version = 20, format = 19.
  249.  
  250. An unfortunate bug in the command line argument handling in version 17
  251. was fixed.  It is now once again possible to use arbitrary X window system
  252. arguments on the command line.
  253.  
  254. The ability to use customized databases was added.  In addition to the
  255. calling level and any X-window arguments on the command line, the program
  256. recognizes three special flags:
  257.    -write_list <filename>  -- write out the call list for the
  258.          indicated level INSTEAD OF running the program.
  259.    -write_full_list <filename>  -- write out the call list for the
  260.          indicated level and all lower levels INSTEAD OF running the program.
  261.    -abridge <filename>  -- read in the file, strike all the calls
  262.          contained therein off the menus, and proceed.
  263.  
  264. The first two are used to prepare a call list.  The call list for the
  265. indicated level, exactly as the calls appear in the menu, will be written
  266. to the named file.  If "-write_list" is used, only the calls exactly on
  267. that level will be written.  If "-write_full_list" is used, the lower level
  268. calls will be written as well, so the file will look exactly like the
  269. main call menu.  After performing either of these operations, the program
  270. exits.
  271.  
  272. The third special flag is used to read in a list of calls to be avoided.
  273. Any call listed in the file, in precisely the same format as it was written
  274. out, will be removed from the internal database prior to running the program.
  275. Every sequence written under control of such a file will say "(abridged)"
  276. after its level.
  277.  
  278. To write material for a group that is learning C2, for example, run the
  279. program with
  280.          sd c2 -write_list my.group
  281. Then delete from the file "my.group" those calls that the group has learned.
  282. When writing material, use the command
  283.          sd c2 -abridge my.group
  284. As the group learns new C2 calls, delete the corresponding lines from
  285. the file "my.group".  That file always contains the calls that they don't
  286. yet know.  When the file goes to zero, they know the whole list.
  287.  
  288. The lines in the abridgement file must always be in exactly the same format
  289. as the strings that are written out by the "write_list" or "write_full_list"
  290. flags.  The program has no tolerance for creative capitalization, stray
  291. blanks, or other variations.  Any line in the file that does not match a
  292. call in the menu is simply ignored.  The order is not important, though it
  293. is possible that leaving it in the original menu order may someday yield
  294. faster program startup.
  295.  
  296. New calls: circle to a two..faced..line, grand walk and dodge, mesh
  297. (beware! there is a bug: it permits it from people back-to-back.  I
  298. need to make a restriction or qualifier.) turn and left thru,
  299. cross follow thru, flare out to a line.
  300.  
  301. ===============================================================================
  302.  
  303.                 RELEASE NOTES FOR VERSION 1.17
  304.  
  305. A bug was fixed in the "double offset 1/4 tag" concept.
  306.  
  307. The "two diagonal lines/columns" (from a 4x6) and "so-and-so in a diagonal
  308. line/column" (from a 4x4) concept were added.
  309.  
  310. It is now legal to do a "resolve" or "do anything" when a complex
  311. concept has been entered and its calls partially filled in.  That is,
  312. one can now do "checkpoint recycle by <do anything>".  Previously, one
  313. could do "checkpoint <do anything>", having the program fill in both
  314. calls, but it was not possible to specify one call and have the program
  315. find the other.
  316.  
  317. The various "scatter scoot chain thru nuclear reaction" calls were broken
  318. out into separate menu items.  While this consumes a lot of menu space,
  319. there was widespread disapproval of the previous method of constructing
  320. such calls by multiple substitution steps.
  321.  
  322. All the "cross chain reaction", "cross reactivate", and "cross nuclear
  323. reaction" calls were removed from the menus.  (The previous change would
  324. have been incredibly expensive if this were not done.)  To get the cross
  325. versions, just click on the "cross" concept.  The program will insert the
  326. word "cross" in the right place in the finished call.
  327.  
  328. The "do the Nth part <concept>" meta-concept was added.
  329.  
  330. New calls: tap, cross double your pleasure, [cross] double your pleasure from
  331. columns of 6, turnover, turn by, turn by 1-1/2.
  332.  
  333. "gruesome" couples/tandem concept.  In this program, "gruesome" simply means
  334. phantom couples or tandem with the phantoms added to make a 2x8 rather than
  335. the 4x4 that would normally be created, and with the added requirement that
  336. the pairing be parallel to the long axis.  "Gruesome twosome" is just an
  337. abbreviation for gruesome as couples twosome.
  338.  
  339. Levels have finally been associated with concepts!!!!!!  If a concept is used
  340. at an illegal level, it just gives a warning.  Many concepts have not yet had
  341. their levels catalogued.
  342.  
  343. ===============================================================================
  344.  
  345.                 RELEASE NOTES FOR VERSION 1.16
  346.  
  347. The call restriction flag "split_trade_box" has been changed to "magic_only".
  348. Its meaning on a 2x2 is unchanged -- the setup must be a split-trade-circulate
  349. type of box.  It is now additionally defined on a 4x2, meaning that the setup
  350. must be a magic column.
  351.  
  352. An embarrassing bug was fixed in "do anything" for the first call of
  353. a sequence.  Previously, if one clicked on "heads start", then "split",
  354. then "do anything", it would search for things of the form "heads into
  355. the middle and start a split square chain thru", as it should, but it would
  356. execute the call in an extremely strange way, resulting in an
  357. unsymmetrical resulting setup.  Because of the asymmetry, it is extremely
  358. unlikely that any generated sequences were tainted by this bug.
  359.  
  360. The cast 3/4 that appears very early in motivate, relay the top, and
  361. cast and relay was changed from a "cast off 3/4" to an "arm turn 3/4".
  362. This makes it legal in the presence of phantoms.  As a result, it is now
  363. possible to do a "split phantom lines motivate but turn the star 1/4" from
  364. normal waves.  (If the star turn is left at the usual 1/2, the final
  365. cast off 3/4 is still ambiguous.)
  366.  
  367. The copyright date was changed to 1991, and the name of the file containing
  368. the license was changed from gnu.license to COPYING, in accordance with
  369. FSF custom.
  370.  
  371. The ability to do certain "matrix" calls, U-turn back and quarter left/right,
  372. from virtual and distorted setups was improved.  It is now possible to do
  373. "tandem heads U-turn back", for example.  This makes "patch" viable.
  374. Also, it can do 1-person calls in C1 phantoms with the "so-and-so only" concept.
  375.  
  376. The "triangle" concept was added, as in "triangle peel and trail".  The program
  377. can now recognize wave-based and tandem-based triangles in C1 phantom setups,
  378. and can do triangle orientation-changers correctly.  There is also a "so-and-so
  379. based triangle" concept, available in C1 phantom setups.
  380.  
  381. It now does the right thing with the "inherit_left" and "inherit_reverse"
  382. modifiers.  If a call that is defined sequentially or concentrically has one
  383. but not the other of "left_means_mirror" or "reverse_means_mirror" (these
  384. flags don't mean what they say when used with sequentially or concentrically
  385. defined calls -- they mean that the concept is legal and can be inherited
  386. to subcalls.  What the subcall does with them is its business) and a subcall
  387. has the "inherit_reverse" or "inherit_left" flag on for the concept that is
  388. NOT premitted, the program will turn the given concept into the other one
  389. and send it to the subcall.  For example:
  390.    call "clean sweep @b" c3x
  391.                reverse_means_mirror neednumber visible_fractions
  392.       seq circle4 [inherit_reverse repeat_n]
  393.       seq lft_veer_left [inherit_left]
  394.       seq tagtheline [inherit_left]
  395.       seq leadsrollright [inherit_left]
  396. "reverse clean sweep 1/4" is defined as
  397.       REVERSE circle4 ; LEFT lft_veer_left ; LEFT tagtheline ; LEFT leadsrollright
  398. The "reverse" concept gets turned into "left" for those subcalls that need it.
  399.  
  400. New calls: cheerio (done correctly!), grand switch, scramble, single circle to a line,
  401. patch, scramble, central scramble, snag circulate, drift around, all sorts of "pitch"
  402. variations, all sorts of "touch by" fractions.
  403.  
  404. With confidence is now done correctly.  It can be done from a "mayday, no direction"
  405. setup.  Speaking of which, mayday with no direction was added.
  406.  
  407. Convert the (wave-based) triangle now handles the case in which the point
  408. has a different handedness from the base.
  409.  
  410. Singular words for the various selectors were introduced, and the calls "<anyone> hop"
  411. and "<anyone> tie" were modified to use same.
  412.  
  413. ===============================================================================
  414.  
  415.                 RELEASE NOTES FOR VERSION 1.15
  416.  
  417. Many "forbidden" flags were put on restrictions in the database.  For example,
  418. it is now simply illegal (as opposed to giving a "do your part" warning) to call
  419. "cast a shadow" or "detour" when the ends are not in a true tandem.
  420.  
  421. The behavior when an error occurs during a file writing operation has
  422. been improved.  When you click on "getout", it attempts to write the sequence
  423. to the currently selected file.  If this fails for any reason, it displays
  424. an error message and does not destroy the sequence.  You can then change the
  425. file name (by clicking on "outfile") or otherwise repair the problem, and
  426. then click on "getout" again.
  427.  
  428. ===============================================================================
  429.  
  430.                 RELEASE NOTES FOR VERSION 1.14
  431.  
  432. The "reverse random" concept was added.
  433. The theoretical problem with pair the line, from version 13, was settled.
  434. It is legal from arbitrary lines.  When done from parallel lines, if the
  435. result of each line is a Z, the setup remains a 2x6.  Otherwise, whether the
  436. ends were facing in or out, the setup is shrink-wrapped to a 2x4.  The calls
  437. [cross] loop the loop, rip the line, and step and slide were implemented
  438. in this manner also.
  439.  
  440. The concepts "divided lines" and "divided columns", done from a 2x8,
  441. and "12 matrix divided lines" and "12 matrix divided columns", done from
  442. a 2x6, were added.  The former two are equivalent to split phantom twin
  443. boxes, except that they demand that people be facing in the indicated way.
  444. For all of these concepts, if people are T-boned, you can use "standard"
  445. to permit the concept to be used.  The purpose of the 12 matrix versions
  446. is to allow calls that take 2x3 setups to be done from a 2x6.  In all
  447. cases outboard phantoms are added as required at the start of the call,
  448. and removed at the end.
  449.  
  450. The meaning of the "demand_lines" and "demand_columns" flags was reworked.
  451.  
  452. For a call that is defined concentrically:
  453.    The first subcall specifier gives the call to be executed by the centers.
  454.    The second subcall specifier gives the call to be executed by the ends.
  455. For a call that is defined cross concentrically:
  456.    The first subcall specifier gives the call to be executed by the
  457.       original ends, finishing in the center.
  458.    The second subcall specifier gives the call to be executed by the
  459.       original centers, finishing on the outside.
  460.  
  461. The meaning of the "demand_lines" and "demand_columns" flags for the call
  462. executed by the people who START ON THE OUTSIDE (for "concentric" this is
  463. the second subcall specifier; for "cross concentric" it is the first) is
  464. as follows:
  465.    If the original ends are in a 2x2, their elongation is checked to
  466.    determine whether they are on line-like or column-like spots,
  467.    independently of the centers' formation.  So, for example, in a
  468.    quarter-tag, the ends are in a 2x2 and satisfy the "demand_columns"
  469.    criterion.  In a "trim a web" setup, they are also in column-like
  470.    spots.  In diamonds, they are in line-like spots.  If the original
  471.    ends are not in a 2x2 and a "demand" flag is set, no checking is done.
  472.  
  473. The meaning of the "demand_lines" and "demand_columns" flags for the call
  474. executed by the people who START IN THE CENTER (for "concentric" this is
  475. the first subcall specifier; for "cross concentric" it is the second) is
  476. as follows:
  477.    If the original centers are in a 2x2, the elongation of the outsides
  478.    is measured relative to the facing direction of the centers.  If
  479.    "demand_lines" is given, the outsides' elongation is required to lateral
  480.    to the centers.  If "demand_columns" is given, the outsides' elongation
  481.    is required to forward or back relative to the centers. If the outsides
  482.    are in a 2x2 (so the overall setup is a 2x4) these flags test whether the
  483.    centers are actually in their part of lines or columns.  If the outsides
  484.    are not in a 2x2, their elongation is tested anyway.  So, from a "rigger"
  485.    setup, the "demand_lines" flag tests whether the centers find the wings
  486.    lateral to them.
  487.  
  488. Either flag will cause an error is the setup is a galaxy (elongation can't
  489. be determined), or if the centers are T-boned (elongation isn't consistent
  490. for all 4 centers.)  If the original centers are not in a 2x2 and one of these
  491. flags is set, no checking is done.
  492.  
  493.  
  494. The restriction "quarterbox_or_col" was added, and used in "triple cross",
  495. so that it will no longer allow this call from 8 chains and other
  496. inappropriate setups.
  497.  
  498. It can now do 1x2 calls in full generality (I hope) from generalized
  499. quarter-tag setups and "riggers".  For example, hinge turns a quarter-tag
  500. into a rigger (sorry, Eric), and vice-versa.  In a rigger setup, it
  501. analyzes facing direction to determine who works with whom.
  502.  
  503. The "do two calls in succession" concept was added.  If this is done under
  504. another concept, that concept applies to the entire pair of calls.  This
  505. makes it possible to do a "concentric (recycle ; roll)" and have the lines-to-lines
  506. rule embrace the roll.  The script will appear as above.  The proper way
  507. to say the concept when calling is problematical.  Something like "consider
  508. the following two calls to be one unit, and do a stable swing thru and turn thru"
  509. might be appropriate.  Or you could just read the parentheses.
  510.  
  511. New calls: grand nicely, grand swing and cross [ugh!], grand curli-cross,
  512. put centers in, put centers out, centers thru and close the gate, cross town roll.
  513.  
  514. ===============================================================================
  515.  
  516.                 RELEASE NOTES FOR VERSION 1.13
  517.  
  518. The "ferris" and "release" concepts were added.
  519.  
  520. The call "roll" (without selector) was added, which takes no selector.
  521. You no longer need to say "everyone roll".
  522.  
  523. The "outfile" icon was added, courtesy of Kathy.  Click on this to change
  524. the name of the output file.  The default file name is now sequence.<level>,
  525. as in sequence.MS or sequence.C1.
  526.  
  527. A bug was fixed involving left turn thru from facing people.  It got confused
  528. about stepping to a wave and doing a right-hand-only call.  (I define
  529. turn thru as a right-hand-only call.)
  530.  
  531. [Cross] horseshoe turn is defined correctly, and can be done from T-boned
  532. or other strange setups.
  533.  
  534. The restriction "couples_only" was expanded to be meaningful from 2x4
  535. lines or columns, so that "rotate" (the call) could be defined.
  536.  
  537. The "tall 6", "short 6", "inside triangles", and "outside triangles"
  538. concepts were added.  Things are in a somewhat confused state while I
  539. figure out what things really ought to be called.
  540.  
  541. The necessary mechanism was added to handle calls in which the line people
  542. and the column people have different ideas about the final setup shape, that
  543. is, the "rotate" indicator is on for some people and off for others, as in
  544.    setup 4x2 2x4 rotate 
  545.       array [L4W L5W L6E L7E L0E L1E L2W L3W]
  546.    setup 2x4 2x4
  547.       array [L7S L0S L5S L2S L3N L4N L1N L6N]
  548. This was used to make "single rotate" (the call) and "change your image" work.
  549. ("Change your image" had previously been defined in a strange way in order
  550. to get around the problem.)
  551.  
  552. Some new modifiers were added for restrictions in the database.
  553. Between the word "restriction" and the name of the restriction you may place
  554. the word "unusual" or "forbidden".  If "unusual" is given, and the restriction
  555. is violated, the warning "This is an unusual setup for this call" (as opposed
  556. to "do your part") will be given.  Such a warning will make the call ineligible
  557. for use in a resolve or "do anything" operation.  This is intended to be used
  558. to make "sidetrack" be more caller-friendly when called from lines.
  559. If "forbidden" is specified and the restriction is violated, the call is
  560. simply illegal.  This is used with the "couples_only" restriction to make
  561. "rotate" (the call) work.  (Things would have been a lot easier if "rotate"
  562. were just an as-couples single rotate, because the mechanism exists,
  563. as you know if you've been reading these notes, to do such things very simply.
  564. Alas, the call "rotate" doesn't work that way.)
  565.  
  566. A new restriction, "alwaysfail" was added.  It is intended to be used with
  567. the "unusual" flag (see preceding paragraph.)  The call "sidetrack" now
  568. makes use of this, and issues an "unusual setup" warning if called from
  569. 2x4 lines.
  570.  
  571. The "random" and "piecewise" concepts were added.  They require that the
  572. call be sequentially defined and have the "visible_fractions" flag set in
  573. the database.  A very few calls were so flagged.  As usual for new features,
  574. use with care.
  575.  
  576. New calls:
  577.    <anything> the windmill left or right
  578.    [single] hinge and trade,
  579.    [single] hinge and circulate left/right
  580.    [single] [3/4 circle] bring us together
  581.    rotate
  582.       I believe it now knows how to do rotate and single rotate, including the
  583.       some-are-in-lines-and-others-are-in-columns stuff.
  584.    shuttle right/left
  585.    tag & spin right/left
  586.       To get the "left" indicator, click on "left" before clicking on the call.
  587.       It will do the right thing.  This is the completely wrong way to do this stuff.
  588.    spin the yo-yo
  589.    relay the yo-yo
  590.    interlocked ramble
  591.    cross ramble
  592.    cross counter
  593.       Give the "cross" concept to the entire call "scoot and ramble"
  594.       or "scoot and counter".  The program will clean it up.
  595.    trail chain thru
  596.    [cross] pair the line
  597.       There is a theoretical problem with [cross] pair the line,
  598.       that requires resolution.  Is it legal from lines facing?
  599.       Would saying "split phantom lines" before the call change
  600.       that?  How does shrink wrapping apply to this call in general?
  601.  
  602. ===============================================================================
  603.  
  604.                 RELEASE NOTES FOR VERSION 1.12
  605.  
  606. The "diamond" concept was added, in both the "diamond single wheel" and the
  607. "diamond swing thru" forms.  Calls are marked in the database with the
  608. "diamond_as_in_swing_thru" flag if they take the second form.  Compound calls
  609. marked in this way inherit the diamond property to their subcalls by means of
  610. the "inherit_diamond" invocation flag.  Basic calls use the "alternate_definition
  611. [diamond]" clause.  Such calls must still have the "diamond_as_in_swing_thru"
  612. flag at the top level.
  613.  
  614. You should not need to click on "diamond" except when you actually want the
  615. diamond concept.  There are cases in which it may seem that the word "diamond"
  616. ought to be added after clicking on "interlocked" and/or "magic".  The program
  617. will insert the extra word "diamond" for you.  (At least that is the intention.)
  618. So, for example, clicking on "magic" and then "alter the diamond" will get
  619. "magic diamond, alter the diamond", and clicking on "magic", "interlocked", "diamond",
  620. "as couples", and "quarter right" will get "magic interlocked diamond, diamond
  621. as couples quarter right".
  622.  
  623. The ability to do "phantom turn and deal" calls from appropriate setups was
  624. added.  That is, the "phantom" concept now means either the "C1 phantom"
  625. meaning or the "phantom turn and deal" meaning, depending on the setup.
  626. The latter meaning will be used whenever the people occupy generalized
  627. stairstep/ladder spots.  Any call that leaves pairwise-squashable phantoms
  628. is legal, for example, "phantom single file flutter wheel".
  629.  
  630. The "ferris" concept was added.  It requires that the phantoms be removable.
  631. It is in a fairly pathetic state.  "Release" is in the concept menu but is
  632. not implemented.
  633.  
  634. New calls: turn up, mini turn up, (cross) clear the way.
  635.  
  636. The "cpls_unless_single" modifier was implemented, for sequential calls
  637. only.  It may not be used with any of the 3 "repeat" modifiers.
  638. If the "single_is_inherited" top level call flag is on, then the "single"
  639. modifier is allowed, and will suppress this action.  Perhaps a version
  640. that is not suppressable is needed, so we can selectively determine
  641. just where "single" is used.  All this stuff was used for a complete
  642. recoding of the [grand] [single] cross [trade] and wheel family.
  643.  
  644. The "split phantom twin boxes sets in motion" bug was fixed.  The program
  645. doesn't normally distinguish between the spot locations of two parallel
  646. diamonds and those of a quarter tag.  The call went into two quarter tags
  647. next to each other, which is treated as quadruple diamond spots.
  648. Whenever the outer diamonds are empty in quadruple diamonds at the end
  649. of a call, the outer diamonds are thrown away, leaving just the two
  650. center diamonds, that is, a quarter tag.  This was changed.  It now
  651. examines people's facing direction.  If the remaining people were in
  652. actual diamond-like orientations when throwing away the outer diamonds,
  653. the resulting setup will be a quarter tag.  Otherwise it will be an "H".
  654.  
  655. ===============================================================================
  656.  
  657.                 RELEASE NOTES FOR VERSION 1.11
  658.  
  659. The spelling error in the word "inifinitive" in the notes for version 1.10
  660. was fixed.  The misspelled word in the preceding sentence was in
  661. quotes, so it doesn't count.
  662.  
  663. You should be able to say things like so-and-so are standard in
  664. quadruple lines, siamese breakdown.  Standard is recognized for
  665. triple/quadruple lines, 12 matrix phantom lines/columns, and
  666. two phantom lines/columns of 6/8.
  667.  
  668. Two new definition schemata have been added: "singleconc" and
  669. "singlecrossconc".  We'll see how they work.
  670. It can do single [cross] concentric calls into and out of diamonds.
  671.  
  672. New calls: <N/4> the alter (N had better be odd, of course)
  673. and <N/4> cast and relay.  In alphabetizing the menu, substitutable
  674. numbers are completely ignored rather than being listed under "N",
  675. so "<N/4> the alter" is listed under "T" (!), and "<N/4> cast and relay"
  676. under "C".  Sigh.
  677.  
  678. More new calls: magic walk the plank, magic open up the column,
  679. open up (cross) reaction, split grand chain 8 (special case, squared-set
  680. position only), wheel and spread from line of 3 (be sure they are all
  681. facing the same way; the program can't yet tell), single rotary spin done
  682. correctly.  Quarter thru defined more nearly correctly, so tandem
  683. or siamese quarter thru can be done from appropriate setups.
  684. Fractional chain and circulate in, spin chain and circulate in,
  685. good and plenty.  Many single/cross/magic versions of existing calls.
  686.  
  687. There is much improved printing of tagging call modifications, as in
  688.       [vertical tag] your leader
  689. and star turning modifications, as in
  690.       scoot and plenty BUT [turn the star 3/4, interrupt after 1
  691.          with [[[revert the [vertical tag]] chain thru and
  692.          scatter] reaction BUT [turn the star 1/2]]]
  693.  
  694. Many star turn operations now take numeric arguments instead of being
  695. listed individually.
  696.  
  697. It can do 2-person calls individually in each group when in
  698. a "C1 phantom" setup.  This means it is beginning to do siamese
  699. breakdown intelligently.
  700.  
  701. The concepts "grand", "cross", and "single" were added, and many calls whose
  702. cross/single/grand versions were listed separately were reworked to use this.
  703. For example,
  704. to get a cross chuck-a-luck, use the "cross" concept with chuck-a-luck.
  705. The appropriate inheritance indicators were added to the database language.
  706. See, for example, the way "cross clover and ..." inherits cross to its
  707. subcall.  For calls whose names are usually given as "single file ...",
  708. click on "single".  It will be changed to "single file" in the transcript.
  709.  
  710. The ability to have more than one call modifier was added, so we now
  711. have interlocked magic flip/cut the diamond.  Instead of saying
  712. "magic_coming_next", the database says "alternate_definition [magic] <level>".
  713. The level tells what level is appropriate for the call with that modification.
  714. The database has partly been updated to contain this level information, so it
  715. knows that "magic in roll circulate" is not legal at a2.
  716.  
  717. The level specified with "alternate_definition" is checked whether the call
  718. is invoked by clicking on it at the top level or invoked as a sequential or
  719. concentric subcall from some other call!!!  This is different from the program's
  720. behavior for calls without modifications, in which it is perfectly legal to
  721. execute a call that contains a subcall that would be at too high a level to
  722. be executed directly.  For example, "rotary spin" is marked as C1 in the database,
  723. but it invokes a subcall to do the pull by and [single] courtesy turn.  The
  724. "single" concept is inherited to that subcall, and the "single" version of that
  725. subcall is marked C3.  Therefore, "single rotary spin" is not legal below C3.
  726. The subcall itself is marked as "dontshow", meaning infinitely high, but that
  727. isn't checked.  It just controls whether the call appears on the menu.
  728.  
  729. A new invocation schema, "maybesingleconc" has been created.  It is equivalent
  730. to "singleconc" if the call was invoked with the "single" concept, and
  731. equivalent to "conc" otherwise.  The call should have "single_is_inherited"
  732. property.  Think of the "single" concept as being inheritable both to subcalls
  733. and to invocation schemata.  The subcall in "rotary spin", discussed at great
  734. length above, uses this.
  735.  
  736. It has a better sense of what is reasonable when a 2-person call is given
  737. to the outsides.  It permits cy-kick from a grand wave but not from diamonds.
  738. It forbids "ends hinge" when in waves, but allows "concentric hinge" from waves.
  739.  
  740.    The problem with cy-kick was that it used to mark the ends part with
  741.    "conc_demand_columns" in order to make sure that the ends were close to each
  742.    other laterally, that is, to make it illegal from diamonds.  The problem is
  743.    that conc_demand_columns and conc_demand_lines both cause the program to
  744.    demand a 2x2.  So, if the ends were in a 1x4, it would not allow the call.
  745.    What we are trying to do is not "demanding columns" so much as demanding that
  746.    the two people be close to each other laterally, since that is obviously
  747.    what the two-person call kickoff requires.  But we can't add a flag to calls
  748.    like kickoff saying that we require the two people to be close -- it should
  749.    be obvious.  The solution is to say that, whenever a two-person call is executed
  750.    in a 2x2 setup, and that setup is elongated (due to being the outsides),
  751.    we require that the division axis be such that the people working with each
  752.    other on the two-person call be physically close to each other.  Once this
  753.    change was made, the illegality of "ends hinge" from lines came for free.
  754.    Of course, we have to turn off this feature when the concentric concept is
  755.    used.
  756.  
  757. It knows how to have some people rear back but not others, so, for example,
  758. square thru can be done from certain rigger setups, dogbones, and C1 phantom
  759. setups.
  760.  
  761. ===============================================================================
  762.  
  763.                 RELEASE NOTES FOR VERSION 1.10
  764.  
  765. The split infinitive in the notes for version 1.9 was fixed, but the
  766. spelling error remains.  This will be fixed in version 1.11.
  767.  
  768. Fixed cover up -- it should do all the right things now.
  769. Fixed bug in "strip" from an hourglass.
  770.  
  771. The program interface to the user interface module was changed.  The
  772. X-window interface (sdui-x11.c) has become simpler, more elegant,
  773. and more efficient.
  774.  
  775. Triple diagonal lines/columns have been broken for a while; fixed.
  776. Triple twin lines/columns, and "standard" in same, were implemented.
  777. These, and triple diagonal lines/columns, are in the phantom concept
  778. popup, which is now quite huge.
  779.  
  780. The logic for deciding who works with whom in a 2x2 setup was changed.
  781. It will not allow the call "trade" to be executed in a T-boned 2x2.
  782. A consequence of this is that it may do siamese breakdown slightly
  783. more intelligently, but don't count on it.
  784.  
  785. Fixed bug in "standard" with distorted moves (bigblock, stairstep, etc.)
  786.  
  787. Fixed yet another bug in concentric stuff.  Previous versions may have
  788. had "locker's choice" broken.  The problem was in the "parallel_conc_end"
  789. indicator on calls.  When a call is defined sequentially, the way
  790. "trade;stepandfold" is, the program used to check for this flag on
  791. the entire "trade;stepandfold" call.  The flag is absent, so the
  792. program defaulted to setting the final elongation to be perpendicular
  793. to the original ends' 1x4, which makes "choice" fail.  The program
  794. now checks for the "parallel_conc_end" flag on the constituent calls.
  795. Since the flag is set for the call "step and fold", the right thing
  796. happens.  Making it do "split cast" is difficult, because the outsides
  797. part is a hinge followed by a trade.  The hinge is the call for which
  798. the "parallel_conc_end" flag is important.  While doing the trade,
  799. it has to remember what spots the hinge wanted to end on.  I'm boring you.
  800.  
  801. New calls: 1/4 the alter, gravitate.
  802.  
  803. ===============================================================================
  804.  
  805.                 RELEASE NOTES FOR VERSION 1.9
  806.  
  807. New calls: more elegant zip code, hoop-de-do, improved 6x2 acey deucey
  808. (dancers will be more intelligent about figuring out which way to face
  809. without needing a live person in front of them in the circulate path),
  810. mayday in/out,
  811.  
  812. Fixed bug in sidetrack (it used to do an implicit split sidetrack
  813. if the setup was in columns, because the call was, inexplicably and
  814. inexcusably, not entered by definition.)  This was broken only in 1.8.
  815. The split infinitive in this paragraph will be fixed in version 1.10.
  816.  
  817. Fixed problems with shape-changers in butterfly or O (it used to
  818. believe they were illegal in some cases.)
  819.  
  820. ===============================================================================
  821.  
  822.                 RELEASE NOTES FOR VERSION 1.8
  823.  
  824. The "undo" icon behaves in a MUCH more user-friendly way.
  825.  
  826. It is legal to do phantom lines/cols/boxes/diamonds if only the outer
  827. pair of the setups are occupied.
  828.  
  829. New calls: 2/3 sidetrack, split sidetrack, split 2/3 sidetrack, split cast,
  830. anything and cross, nicely, triple cast, follow the yellow brick road,
  831. turn the key, transaction stuff, cloverflow, cloverleaf turn.
  832. Fix bug in "bounce the <anyone>".
  833.  
  834. <anything> the yellow bricking <anything>:
  835.    To use the second <anything>, as in "follow the yellow bricking
  836.    turn and deal", you should click on "follow the yellow brick road"
  837.    with simple modifications enabled.
  838.  
  839.    To use the first <anything>, as in "revert cross loop and tag
  840.    the yellow brick road", click on "tag the yellow brick road".
  841.    If simple modifications are enabled, you will be able to turn
  842.    the 1/2 tag into whatever tagging variation you want.
  843.    The philosophy is the same as for things like tagger's dilemma.
  844.  
  845.    If you want to modify both, you must select "all modifications",
  846.    (click twice on "allow modifications"), do "tag the yellow brick
  847.    road", and force the second modification.  It will come out
  848.    looking ugly.  Sorry.
  849.  
  850. ===============================================================================
  851.  
  852.                 RELEASE NOTES FOR VERSION 1.7
  853.  
  854. Quadruple diamonds working together are implemented.
  855.  
  856. A long-standing bug was fixed (I'm sure you've noticed it) whereby
  857. the program would crash if you clicked on another "resolve" (or
  858. "do anything", etc.) while one such command was already in progress.
  859. The intention is that, if you click on any of the command icons
  860. while the program is in search mode, it considers that to be an
  861. "accept current choice" followed by whatever you selected.  This
  862. way, if you like a resolve, you can simply click on "getout".
  863. Clicking on "resolve" a second time is sort of pointless, since it
  864. searches for additional resolves on top of the already resolved
  865. sequence, but having the program crash is even more pointless.
  866.  
  867. Calls added: snap, crackle, pop, bits and pieces, fan the gate, push
  868. open the gate, single scoot and trade                                                     
  869.  
  870. ===============================================================================
  871.  
  872.                 RELEASE NOTES FOR VERSION 1.6
  873.  
  874. Disband and disperse are now entered by definition, and can be done
  875. when the ends are in lines or columns.  The centers can be T-boned to them,
  876. or course.
  877.  
  878. The calls tag circulate, turn and flip, (quarter) wheel to a diamond,
  879. clean sweep, wheel and spread, counteract, curl apart, outpost,
  880. chip off, ship ahoy were added.
  881.  
  882. A bug was fixed with left swing thru in parallelogram.
  883.  
  884. Reactivate and cross reactivate had been broken since galaxies
  885. were added.  They have been fixed.
  886.  
  887. Z axle should work correctly now.
  888.  
  889. Note!!!  Use siamese breakdown with care.  This is nothing new, it
  890. just needs to be pointed out.  I'm not sure how to implement this
  891. so that it uses it in ways that aren't stupid.
  892.  
  893. The quadruple line/quadruple column/quadruple box/quadruple diamond
  894. concepts have been added.  Quadruple diamonds working together are
  895. still not implemented.
  896.  
  897. The "save picture" icon has been added.  At any point in the sequence,
  898. you can click on this to make the current picture a permanent part
  899. of the transcript.  It will be written into the output file.
  900.  
  901. The "neglected calls" icon has been added.  it is in a VERY INCOMPLETE
  902. STATE.  When you click on it, the program will ask you for a percentage
  903. of neglected calls to list.  (Move the mouse away to get 25%.)  It will
  904. display the oldest calls in an extremely klutzy format.
  905.  
  906.    It may increase the number of calls that it displays beyond what
  907.    you requested in order to treat all calls equally.  If you start
  908.    the program, use 2% of the list, and ask for the oldest 1% of the
  909.    calls, it will display the oldest 98%, since all of those 98% of
  910.    the calls are equally old.
  911.  
  912.    At high challenge levels the feature is nearly useless, since there
  913.    is so much to display, and it only shows that last 25 lines or so
  914.    on the screen.  Someday this may be done correctly.
  915.  
  916.    A call is considered "used" only when it is written out to the file,
  917.    or marked as described below.  Calls that are subsequently undone
  918.    don't count.
  919.  
  920.    While displaying the neglected calls, if you click on a call in
  921.    the menu, that call is marked as though it had just been used.
  922.    
  923.    To get out of this display and return to useful work, click on
  924.    "neglected calls" again.
  925.  
  926. ===============================================================================
  927.  
  928.                 RELEASE NOTES FOR VERSION 1.5
  929.  
  930. A fourth special concept popup was added, containing 4-person distorted
  931. or virtual setup concepts like trapezoid, blocks, and Jay.  The "split"
  932. concept was put into this popup.  Maybe it shouldn't be.
  933.  
  934. A few embarrassing bugs were fixed.  The program had never really
  935. understood how to do cross-concentric, and had some ad-hoc garbage
  936. in there in an unsuccessful attempt to make "all 8 recycle" and
  937. "zip code" work.  Things should be much better now.  It can now
  938. probably do cross concentric as well as most people.
  939.  
  940. Problems with subtle aspects of "split" were fixed.  It might work
  941. correctly now.
  942.  
  943. Version 1.4 used too strict a criterion for stepping to a wave or
  944. rearing back from one in the presence of hierarchically defined calls.
  945. It used to believe that, if a call does not have the "step to a wave"
  946. flag set at some high level in its definition tree, it forfeits the
  947. right to step to a wave at a lower level for which the flag is set.
  948. It no longer behaves that way.
  949.  
  950. The problems listed above were found through the alertness of some
  951. intrepid users, for which I am grateful.
  952.  
  953. ===============================================================================
  954.  
  955.                 RELEASE NOTES FOR VERSION 1.4
  956.  
  957. A number of calls whose "left" versions cause the name to be altered
  958. now do so correctly.  To use such a call, enter the "left" concept
  959. with the normal (right) form of the call, e.g. "LEFT chase right",
  960. "LEFT strut right", etc.  The display and transcript will remove the
  961. concept LEFT and move it into the name in the appropriate way, e.g.
  962. "chase left", "strut left".
  963.  
  964. It can now do split-square-thru types of calls in virtual setups, such as
  965. once removed or trapezoid.  It is more robust in the presence of phantoms.
  966. It will only do the call if the people who start (that is, the people who
  967. should be facing each other) are both alive.
  968.  
  969. The "peelable_box" restriction has been implemented for 2x4 setups, for which it
  970. means that the ends are in the appropriate setup.  Cast a shadow has been
  971. put back to its old definition, with this restriction.  Therefore, it
  972. is now legal only from lines in which the ends are people in tandem with
  973. each other.  The centers can be any combination of leads or trailers,
  974. but they may not be T-boned to the centers.
  975.  
  976. The ability to do "partner matrix" calls has been added.  Among the new calls are
  977. tow truck, shove off, anchor, bridge the gap, and run the wheel.  They are,
  978. of course, not permitted in a distorted setup, since they are "press and truck"
  979. types of calls.  Sorry, Clark.
  980.  
  981. The "galaxy" setup has been added.
  982.  
  983. It can take right hands on unwraps from facing setups.
  984.  
  985. It identifies the person in distress when someone is not able to execute
  986. his part of a call.
  987.  
  988. The database format has changed -- comments are now indicated by /* .. */.
  989. I suppose this makes it possible to have the C preprocessor operate on the
  990. database.  A horrifying thought!  The database text file also carries a
  991. version number (major and minor) that gets encoded into the binary file.
  992. When the program starts, this is printed, along with the version of the
  993. main program and of the user interface module.
  994.  
  995. It can do press-and-truck calls more generally, including U-turn-back
  996. and quarter left/right.  It knows that certain people, such as the points
  997. of diamonds and galaxies, are not in well-defined positions for
  998. press-and-truck calls, whereas the centers may be able to do such calls.
  999. Your perception of where the points of diamonds are may differ from the
  1000. program's perception, e.g. you may think the points of right-hand diamonds
  1001. can do a right loop 1 to move to each others' spots.  Sorry, Clark.
  1002.  
  1003. And, of course, many parts of the program have become MUCH more elegant.
  1004.  
  1005. The present version of this (Sept 17, 1990) may be a little unstable.  It
  1006. is being released for experimental work on the concept menus.  It is
  1007. hoped that a more polished version will be forthcoming soon, with the
  1008. improved concept menus.  Please report any problems that are observed.
  1009. In particular, watch for
  1010.    (1) Incorrect handling of the ends' part of concentric moves, or the
  1011.    ends' behavior when the centers do something.  For example, starting
  1012.    with HEADS SWING THRU and having the sides move up to be on diamond
  1013.    spots.
  1014.    (2) Fraudulent claims that a call can't be done in a virtual or distorted
  1015.    setup, when in fact the setup is perfectly normal.
  1016.    (3) Inability to execute press/truck types of calls, or inability to
  1017.    put the resulting matrix back together.
  1018.  
  1019. ===============================================================================
  1020.  
  1021.                 RELEASE NOTES FOR VERSION 1.3
  1022.  
  1023. Massive changes have been made to internal logic for dealing
  1024. with setup rotations and the handling of compound calls.
  1025.  
  1026. The program should be much more flexible and robust in its
  1027. handling of many situations.  Several bugs, and a great many
  1028. misfeatures, have been fixed.
  1029.  
  1030. Some call restriction indicators have been added:
  1031.    "peelable_box" is a 2x2 in which each person is in tandem
  1032.       with another person -- used in things like peel off,
  1033.       peel to a diamond, etc.
  1034.    "not_tboned" is a 2x2 (only defined for a 2x2) in which no
  1035.       one is T-boned.  Used for things like right and left thru.
  1036.    "quarterbox_or_magic_col" is used to make the call make magic
  1037.       behave more reasonably.
  1038.  
  1039. Mechanism has been added to make the substitution of tagging calls
  1040. more restrictive.  The invocation flag "must_be_tag_call" requires
  1041. that the subject call, or any replacement for it, be a call with the
  1042. call flag "is_tag_call".  This makes it impossible to turn "tag your
  1043. neighbor into "acey deucey your neighbor", for example.
  1044.  
  1045. The binary database file has a version number encoded into it, in
  1046. order to reduce the incidence of problems caused by running a copy
  1047. of the calling program that expects a different format than that
  1048. produced by the database maker.  When you get a new calling program,
  1049. you must get a new database maker (make_calls.c), and must run it
  1050. to produce the binary database.  Furthermore, there is no guarantee
  1051. of compatibility of the format of the textual database from one
  1052. version to another.  For example, the current database uses the
  1053. "is_tag_call" indicator, which previous database makers do not
  1054. recognize.
  1055.  
  1056. The "triple diagonal" lines/columns concepts have been added,
  1057. along with the "working everywhichway" variations.
  1058.  
  1059. It can now step to a left-handed wave for calls like "left swing thru".
  1060.  
  1061. When it rears back from a wave, it issues a warning.  Such a call
  1062. is not considered acceptable when searching for resolves.
  1063.  
  1064. When it refuses to take action on a "resolve" or "reconcile"
  1065. mouse click because the setup is inappropriate, it explains
  1066. why, rather than simply ignoring the mouse click.
  1067.  
  1068. It can go to right hands on chain reaction (etc.) and flip the hourglass.
  1069.  
  1070. Many changes were made in the database.  Most noteworthy are:
  1071.    The "centers hinge" in "trade the diamond" is now done correctly
  1072.       (that is, on each side rather than globally), so that, if the
  1073.       diamond circulate is changed to a strip the diamond, it will work.
  1074.  
  1075.    Cast a shadow is now defined in terms of ends and centers, so that
  1076.       the ends can use the "peelable_box" restriction.  A side-effect
  1077.       of this is that it can do the call when the centers are T-boned
  1078.       to the ends.  This may not be a good idea.
  1079.    
  1080.    The call "recycle" handles both the wave type and the facing couples
  1081.        type.  Unfortunately, it does all of this at mainstream.  (There
  1082.        is no notion of different variations of calls being on different
  1083.        lists.)  It also handles the box-of-4 "split recycle" movement
  1084.        when it sees such a box.  From parallel waves, the "SPLIT"
  1085.        concept will cause it to do this, overriding the normal preference
  1086.        for doing wave recycles.  The call "split recycle" also exists
  1087.        in its own right, at C2.
  1088.  
  1089.    Tag-reaction variations are now selected as follows:
  1090.    (1) Enable modifications, of course.
  1091.    (2) Click on "scoot reaction" or "scoot cross reactivate" or
  1092.       "scoot nuclear reaction" or whatever.
  1093.    (3a) If you want a "scoot chain thru reaction" type of variation,
  1094.       change the "scoot back" to "scatter scoot", or
  1095.       "scoot chain thru" or "scatter scoot chain thru".
  1096.    (3b) If you want some kind of tagging call, change the "scoot back"
  1097.       to a "tag back to a wave", or "tag back and scatter", or
  1098.       "tag chain thru" or "tag chain thru and scatter".
  1099.    (4) Change the "1/2 tag" to "1/2 tag the star" or whatever,
  1100.       perhaps reverting same.
  1101.    So a possible call is:
  1102.       [[[revert the [cross loop and 1/2 tag]] chain thru and
  1103.          scatter] cross nuclear reaction] the wave
  1104.